home *** CD-ROM | disk | FTP | other *** search
/ PsL Monthly 1993 December / PSL Monthly Shareware CD-ROM (December 1993).iso / prgmming / dos / c / tagsgen.exe / FLAGS.H < prev    next >
C/C++ Source or Header  |  1992-03-28  |  4KB  |  126 lines

  1. /*
  2.  EPSHeader
  3.  
  4.    File: flags.h
  5.    Author: J. Kercheval
  6.    Created: Thu, 09/05/1991  20:15:37
  7. */
  8. /*
  9.  EPSRevision History
  10.  
  11.    J. Kercheval  Thu, 09/05/1991  20:17:03  creation
  12.    J. Kercheval  Wed, 09/11/1991  01:41:28  add extern flag for C
  13.    J. Kercheval  Tue, 09/17/1991  19:32:57  add case_sensitive flag
  14.    J. Kercheval  Fri, 10/04/1991  10:43:20  add ck and ci flags
  15. */
  16.  
  17. #ifndef FLAGS_HEADER
  18. #define FLAGS_HEADER
  19.  
  20. #ifndef BOOLEAN
  21. #define BOOLEAN int
  22. #define TRUE 1
  23. #define FALSE 0
  24. #endif
  25.  
  26.  
  27. /* tag_type is the tagging method currently in use */
  28. typedef enum {
  29.     C, ASM, MERGE, SORT
  30. } TagType;
  31.  
  32.  
  33. /* flag structure for command line flags */
  34. typedef struct FlagStruct {
  35.  
  36.     /* verbose or no? */
  37.     BOOLEAN quiet;              /* suppress stderr logging messages */
  38.  
  39.     /* file overwrite on log entry */
  40.     BOOLEAN log_overwrite;
  41.  
  42.     /* use relative pathnames in output */
  43.     BOOLEAN use_relative_pathnames;
  44.  
  45.     /* sort the tags output */
  46.     BOOLEAN sort_tags;
  47.  
  48.     /* use case sensitive sort */
  49.     BOOLEAN case_sensitive;
  50.  
  51.     /* use an output file */
  52.     BOOLEAN output_file;
  53.  
  54.     /* the type of parsing which occurs for the current file */
  55.     TagType tag_type;           /* type of tag file */
  56.  
  57.     /* Assembly element parsing */
  58.     BOOLEAN af;                 /* assembly, procedure labels */
  59.     BOOLEAN al;                 /* assembly, local labels */
  60.     BOOLEAN am;                 /* assembly, macro labels */
  61.     BOOLEAN as;                 /* assembly, struc labels */
  62.     BOOLEAN au;                 /* assembly, union labels */
  63.     BOOLEAN ad;                 /* assembly, data definition labels */
  64.  
  65.     /* C language element parsing */
  66.     BOOLEAN cf;                 /* C, function calls */
  67.     BOOLEAN cp;                 /* C, prototypes */
  68.     BOOLEAN cm;                 /* C, macros */
  69.     BOOLEAN cs;                 /* C, struct, global */
  70.     BOOLEAN ct;                 /* C, typedef, global */
  71.     BOOLEAN ce;                 /* C, enum, global */
  72.     BOOLEAN ck;                 /* C, enum Konstants, global */
  73.     BOOLEAN cu;                 /* C, union, global */
  74.     BOOLEAN cv;                 /* C, global variables */
  75.     BOOLEAN cc;                 /* C, class, global */
  76.     BOOLEAN cd;                 /* C, macros, defines and constants */
  77.     BOOLEAN cx;                 /* C, extern, global declarations */
  78.     BOOLEAN ci;                 /* C, static, global declarations */
  79.  
  80.     /* output format options only the last in parameter allowed or used */
  81.     BOOLEAN oe;                 /* epsilon tags format */
  82.     BOOLEAN o5;                    /* epsilon V5.0 and previous */
  83.     BOOLEAN og;                 /* GNU tags format */
  84.     BOOLEAN os;                 /* space delimited format */
  85.     BOOLEAN om;                 /* MicroSoft Error format */
  86. } Flags;
  87.  
  88.  
  89. /*----------------------------------------------------------------------------
  90.  *
  91.  * init_flags() set the initial values of the all option flags in FLAGS struct
  92.  *
  93.  ---------------------------------------------------------------------------*/
  94.  
  95. void init_flags(Flags * flags);
  96.  
  97.  
  98. /*----------------------------------------------------------------------------
  99.  *
  100.  * parse_ASM_flags() set the option flags for ASM command line switch
  101.  *
  102.  ---------------------------------------------------------------------------*/
  103.  
  104. void parse_ASM_flags(char *argv, Flags * flags);
  105.  
  106.  
  107. /*----------------------------------------------------------------------------
  108.  *
  109.  * parse_C_flags() set the option flags for C command line switch
  110.  *
  111.  ---------------------------------------------------------------------------*/
  112.  
  113. void parse_C_flags(char *argv, Flags * flags);
  114.  
  115.  
  116. /*----------------------------------------------------------------------------
  117.  *
  118.  * parse_output_flag() set the option flag for output format, These formats
  119.  * are mutually exclusive from the point of view of this routine.
  120.  *
  121.  ---------------------------------------------------------------------------*/
  122.  
  123. void parse_output_flags(char *argv, Flags * flags);
  124.  
  125. #endif                          /* FLAGS_HEADER */
  126.